There are two types of data dependencies between instructions , register and memory dependencies 在目標代碼中可以區(qū)別兩類數(shù)據(jù)相關(guān),一類是寄存器數(shù)據(jù)相關(guān),一類是存儲器數(shù)據(jù)相關(guān)。
If one item stands for an instruction , its index has some relation with its earliest execution time . we also discuss a new approach for solving the problem of memory dependencies 它們大多數(shù)是在分析時將存儲器作為一個數(shù)據(jù)單元,進而假設(shè)任何兩次對存儲器的訪問之間都存在數(shù)據(jù)相關(guān)。
In both cases we can derive data dependences from reaching definitions and uses information obtained by data flow analysis . at schedule time true register dependencies are known , so register analysis does not involve any complication . but for memory dependencies we have to deal with the problem of aliasing ( addresses are computed during execution ) 而對于存儲器訪問指令而言,其相關(guān)性分析則相對復(fù)雜得多,關(guān)鍵問題是必須解決存儲器訪問地址的別名問題( aliasingproblem ) ,即必須判斷出對存儲器的兩次訪問是否針對同一個地址單元,然后在此基礎(chǔ)上進行存儲器訪問的數(shù)據(jù)相關(guān)性分析。